﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace serva
{
    [Serializable]
    public class Servicio
    {
        

        private int id=0;

        public int idSubServicio
        {
            set { id = value; }
            get { return id; }
        }

        /// <summary>
        /// nombre que va a tener el plato
        /// </summary>
        private string Name="Servicio";

        public string Nombre
        {
            set { Name = value; }
            get { return Name; }
        }

        /// <summary>
        /// precio que tendra el plato
        /// </summary>
        private double costo=0;

        public double Costo
        {
            set { costo = value; }
            get { return costo; }
        }

        /// <summary>
        /// fecha de inicio
        /// </summary>

        private DateTime fechaIn=DateTime.Today;

        public DateTime FechaInicio
        {
            set { fechaIn = value; }
            get { return fechaIn; }
        }

        /// <summary>
        /// fecha final
        /// </summary>
        private DateTime fechaFin = DateTime.Today;

        public DateTime FechaFin 
        {
            set { fechaFin = value; }
            get { return fechaFin; }
        }

        private double precio = 0.00;
        public double Precio
        {
            get { return precio; }
            set { precio = value; }
        }

        private double utilidad = 0.00;
        public double Utilidad
        {
            get{return utilidad;}
            set { utilidad = value; }
        }
        /// <summary>
        /// lista de subServicios
        /// </summary>
        public List<Servicio> listSub;        

        /// <summary>
        /// listado de los ingredientes que forman el platillo
        /// </summary>
        public List<Ingrediente> List_ingredients;

        public Servicio()
        {
            List_ingredients = new List<Ingrediente>();
            listSub = new List<Servicio>();
        }

        public double CalcularUtilidad(double precio)
        {
            
            return precio - Costo;
        }

        public double PorcentajeUtilidad(double precio)
        {
            return (precio - Costo) / Costo;
        }

        public double CalcularCosto()
        {
            double costo = 0;
            for (int i = 0; i < List_ingredients.Count; i++)
            {
                costo += List_ingredients[i].Costo;
            }
            return costo;
        }

        public double CalcularCosto(double CostosFijos)
        {
            double costo = 0;
            for (int i = 0; i < List_ingredients.Count; i++)
            {
                costo += List_ingredients[i].Costo;
            }
            return costo + CostosFijos;
        }
    }
}   
